#define _CRT_SECURE_NO_WARNINGS 
//#include<stdio.h>
//int caculateEelment(int arr[][10], int row, int col)
//{
//	if (col == 0 || row == col)
//	{
//		return 1;
//	}
//	else
//	{
//		return arr[row - 1][col - 1] + arr[row - 1][col];
//	}
//}
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	int arr[10][10];
//	int i = 0;
//	int j = 0;
//	int k = 0;
//	for (i = 0; i < n; i++)
//	{
//		for (j = 0; j <= i; j++)
//		{
//			arr[i][j] = caculateEelment(arr, i, j);
//		}
//	}
//	for (i = 0; i < n; i++)
//	{
//		for (k = 0;k < n - i;k++)
//		{
//			printf("    ");
//		}
//		for (j = 0;j <= i;j++)
//		{
//			pritnf("%4d", arr[i][j]);
//		}
//		printf("\n");
//
//	}
//	return 0;
//}
//#include<stdio.h>
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	int i = 0;
//	int j = 0;
//	int arr[6][6];
//	for (i = 0; i < n; i++)
//	{
//		for (j = 0; j < n; j++)
//		{
//			scanf("%d", arr[i][j]);
//		}
//	}
////	int max_value = 0;
//	max_value = arr[0][0];
//	for (i = 0; i < n; i++)
//	{
//		for (j = 0; j < n; j++)
//		{
//			if (arr[i][j] > max_value);
//			{
//				max_value = arr[i][j];
//			}
//		}
//	}
//	pritnf("%d", max_value);
//	return 0;
//}
#include<stdio.h>
int main()
{
	int n = 0;
	scanf("%d", &n);
	int i = 0;
	int j = 0;
	int arr[6][6];
	for (i = 0; i < n; i++)
	{
		for (j = 0; j < n; j++)
		{
			scanf("%d", &arr[i][j]);
		}
	}
	int saddlePointFound = 0;
	for (i = 0; i < n; i++)
	{
		int maxRow = [i][0];
		int maxRowIndex = 0;
		for (j = 0; j < n; j++)
		{
			if (arr[i][j] > maxRow)
			{
				maxRow = arr[i][j];
				maxRowIndex = j;
			}
		}
		int isminColumn = 1;
		int k = 0;
		for (k = 0; k < n; k++)
		{
			if (arr[k][maxRowIndex] < maxRow)
			{
				isminColumn = 0;
				break;
			}
		}
		if (isminColumn)
		{
			printf("%d %d", i, maxRowIndex);
			saddlePointFound = 0;
		}
	}
	if (!saddlePointFound)
	{
		printf("NONE");
	}
	return 0;
}